package com.jfl.utils;

import org.apache.shiro.crypto.SecureRandomNumberGenerator;
import org.apache.shiro.crypto.hash.Md5Hash;

/**
 * 加密工具类
 *  
 * @author  赵炎
 * @version  [V1.00, 2019年1月13日]
 * @since V1.00
 */
public final class EncryptUtils
{
    private EncryptUtils()
    {}
    /** 
     * 密码颜值
     * @return
     * @see [类、类#方法、类#成员]
     */
    public static String randomSalt()
    {
        // 一个Byte占两个字节，此处生成的3字节，字符串长度为6
        SecureRandomNumberGenerator secureRandom = new SecureRandomNumberGenerator();
        String hex = secureRandom.nextBytes(3).toHex();
        return hex;
    }
    /** 
     * 加密密码
     * @param username
     * @param password
     * @param salt
     * @return
     * @see [类、类#方法、类#成员]
     */
    public static String encryptPassword(String username, String password, String salt)
    {
        return new Md5Hash(username + password + salt).toHex().toString();
    }
}
